home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)ts.d64 / terminal.c (.txt) < prev   
Commodore BASIC  |  2007-02-04  |  4KB  |  126 lines

  1. 50 REM" TERM.64  WRITTEN BY STEVE PUNTER   CONVERTED TO 64 BY KEITH PETERSON
  2. 100 [139][194](22784)[179][177]76[167][147]"TERM.C",8,1
  3. 106 [151]56,88:[151]644,88:[156]:[159]5,2,0,[199](6)[170][199](0)
  4. 110 RE$[178]" ":SE$[178]" ":MO%[178]134:R%[178]0:C$[178]"0123456789ABCDEF"
  5. 115 RP[178]2:RS[178]0:WP[178]RP:WS[178]RS
  6. 120 [151]24575,RP:[151]24574,RS[170]96:[151]24573,WP:[151]24572,WS[170]96
  7. 125 PA(0)[178]10:PA(1)[178]6:PA(2)[178]2
  8. 130 ML[178]22784:[153][199](14):[151]24569,0
  9. 135 [159]1,8,15:[151]556,0:[151]552,0:[151]553,1
  10. 140 DN$[178]"":[137]150
  11. 145 [161]#5,A$,A$:[158]ML[170]0:[160]11:[151]24569,0:TM[178]0:[137]106
  12. 150 [153]"LOADASCUNCTION:"
  13. 155 [153]"1 - (null)ERMINAL (null)ODE"
  14. 160 [153]"2 - (null)ECEIVE PROGRAM"
  15. 165 [153]"3 - (null)RANSMIT PROGRAM"
  16. 170 [153]"4 - (null)PEN STR$ISK ASCILE"
  17. 175 [153]"5 - (null)RINT STR$ISK ASCILE"
  18. 185 [153]"6 - (null)UIT"
  19. 190 [161]A$:[139]A$[178]""[167]190
  20. 195 [145][197](A$)[137]145,500,670,205,230,765
  21. 200 [137]190
  22. 205 [160]11:[153]"(null)AME OF STR$ISK ASCILE":[153]"STR$EFAULT IS STR$RIVE 0?
  23. 210 PRINT">";:GOSUB800:IFB$=""THEN150
  24. 215 IFMID$(B$,2,1)<>":"THENB$="1:"+B$
  25. 220 OPEN11,8,11,"@"+B$+",S,W":GOSUB835:IFESTHENPRINTES$:GOTO205
  26. 225 POKE24569,1:GOTO150
  27. 230 PRINT"[206]AME OF [198]ILE?":PRINT">";:GOSUB800:IFB$=""THEN150
  28. 235 CLOSE11:OPEN11,8,11,B$:GOSUB835:IFESTHENPRINTES$:GOTO230
  29. 240 PRINT"[193]SCII OR [195]BM [212]YPE [207]UTPUT?":PRINT">";:POKE555,0
  30. 245 GETA$:IFA$=""THEN245
  31. 250 IFA$=CHR$(13)THEN150
  32. 255 IFA$="A"THENPOKE555,0:GOTO265
  33. 260 IFA$<>"C"THEN245
  34. 265 PRINTCHR$(ASC(A$)OR128)"":SYSML+3:CLOSE11:GOTO150
  35. 390 GOSUB425:A=PEEK(553):A=A+1:IFA=2THENA=0
  36. 395 POKE553,A:GOTO315
  37. 400 GOSUB425:PA=PA+1:IFPA=3THENPA=0
  38. 405 POKE660,(PA(PA)ORDU)*16+1:GOTO315
  39. 410 GOSUB425:DU=DU+1:IFDU=2THENDU=0
  40. 415 POKE660,(PA(PA)ORDU)*16+1:GOTO315
  41. 420 A$=" [146]":GOTO430
  42. 425 A$=" "
  43. 430 PRINT"   ";LEFT$(DN$,PEEK(553));A$
  44. 435 PRINT"   ";LEFT$(DN$,PA);A$
  45. 440 PRINT"   ";LEFT$(DN$,DU);A$:RETURN
  46. 445 A$=" [146]":GOTO455
  47. 450 A$=" "
  48. 455 PRINT"   ";LEFT$(DN$,BR);A$
  49. 460 PRINT"   ";LEFT$(DN$,SB);A$
  50. 465 PRINT"   ";LEFT$(DN$,WL);A$:RETURN
  51. 470 GOSUB450:BR=BR+1:IFBR=3THENBR=0
  52. 475 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6):GOTO370
  53. 480 GOSUB450:SB=SB+1:IFSB=2THENSB=0
  54. 485 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6):GOTO370
  55. 490 GOSUB450:WL=WL+1:IFWL=2THENWL=0
  56. 495 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6):GOTO370
  57. 500 REM RECEIVE A PROGRAM
  58. 505 PRINT"[206]AME OF [198]ILE?"
  59. 510 PRINT"[196]EFAULT DRIVE IS #0":PRINT">";:GOSUB800:S$=B$
  60. 515 IFS$=""THENPRINT#5,"A";:GOTO145
  61. 520 IFMID$(S$,2,1)<>":"THENS$="0:"+S$
  62. 525 GOSUB625:S$="@"+S$+T$+",W"
  63. 530 CLOSE2:OPEN2,8,2,S$:GOSUB835:IFESTHENPRINTES$:CLOSE2:GOTO505
  64. 535 PRINT#5,"TTTTTTTTTT";
  65. 545 FORX=0TO8:NEXT:GET#5,A$:IFST=0THEN545
  66. 546 SYSML+18:IFSTTHEN570
  67. 550 GET#5,A$:IFST=0THEN550
  68. 555 S1=PEEK(ML-2):S2=PEEK(ML-1):SYSML+12
  69. 560 IFS1<>PEEK(ML-2)ORS2<>PEEK(ML-1)THEN575
  70. 565 SYSML+15:PRINT#5,"";:PRINT"-";:GOTO545
  71. 570 CLOSE2:PRINT#5,"SSSSSSSSSS";:PRINT:GOTO145
  72. 575 PRINT#5,"";:PRINT":";:GOTO545
  73. 580 PRINT"[212]YPE OF [198]ILE:"
  74. 585 PRINT"([208])ROGRAM, ([215])ORD[208]RO, OR ([211])EQ?":PRINT">";
  75. 590 GETB$:IFB$=""THEN590
  76. 595 TY$=B$:FL=0
  77. 600 IFB$="P"THENT$=",P":POKE557,0:PRINT"[208]ROGRAM":RETURN
  78. 605 IFB$="S"THENT$=",S":POKE557,0:PRINT"[211][197][209]":RETURN
  79. 610 IFB$="W"THENT$=",P":POKE557,1:PRINT"[215]ORD[208]RO":RETURN
  80. 615 IFB$=CHR$(13)THENFL=1:RETURN
  81. 620 GOTO590
  82. 625 PRINT#5,"UUUUUUUUUU";
  83. 630 GET#5,A$:IFST<>0THEN630
  84. 635 IFA$="P"THENT$=",P":POKE557,0:A$="[208]ROGRAM":GOTO655
  85. 640 IFA$="S"THENT$=",S":POKE557,0:A$="[211][197][209]":GOTO655
  86. 645 IFA$="W"THENT$=",P":POKE557,1:A$="[215]ORD[208]RO":GOTO655
  87. 650 GOTO630
  88. 655 PRINT"[198]ILE [212]YPE: "A$""
  89. 660 GET#5,A$:IFST=0THEN660
  90. 665 RETURN
  91. 670 REM SEND AN SEQ FILE TO BULLETIN BOARD
  92. 675 PRINT"[206]AME OF [198]ILE TO [211]END?":PRINT">";:GOSUB800:S$=B$
  93. 680 IFS$=""THENPRINT#5,"A";:GOTO145
  94. 685 GOSUB580:IFFLTHENS$="":GOTO680
  95. 690 CLOSE2:OPEN2,8,2,S$+T$:GOSUB835:IFESTHENPRINTES$:CLOSE2:GOTO675
  96. 695 FORX=1TO10:PRINT#5,TY$;:NEXTX:PRINT
  97. 700 GET#5,A$:IFST<>0ORA$<>"U"THEN700
  98. 705 SYSML+9:CK=ST
  99. 710 GET#5,A$:IFST=0THEN710
  100. 715 FORX=1TO200:NEXT:REM DELAY LOOP
  101. 720 FORT=0TO255:PRINT#5,CHR$(PEEK(ML-256+T));:NEXTT
  102. 725 PRINT#5,"ZZZZZZZZZZZZZZZ";
  103. 730 GET#5,A$:IFST<>0THEN730
  104. 735 IFA$=""THENPRINT":";:GOTO710
  105. 740 IFA$<>""THEN730
  106. 745 IFCK=0THENPRINT"-";:GOTO705
  107. 750 GET#5,A$:IFST=0THEN750
  108. 755 CLOSE2:GOTO145
  109. 760 SYSML+21:A$=CHR$(PEEK(634)):RETURN
  110. 765 REM QUIT TERMINAL
  111. 790 CLOSE5:CLOSE1:CLOSE2:CLOSE11
  112. 792 PRINTCHR$(9)
  113. 795 END
  114. 800 PRINT" [146][157]";:B$=""
  115. 805 GETA$:IFA$=""THEN805
  116. 810 IFA$=CHR$(20)THEN825
  117. 815 IFA$=CHR$(13)THENPRINT" ":RETURN
  118. 820 B$=B$+A$:PRINT" [157]"A$" [146][157]";:GOTO805
  119. 825 IFLEN(B$)=0THEN805
  120. 830 B$=LEFT$(B$,LEN(B$)-1):PRINTA$;:GOTO805
  121. 835 REM GET ERROR CHANNEL
  122. 840 INPUT#1,E1$,E2$,E3$,E4$
  123. 845 ES$=E1$+","+E2$+","+E3$+","+E4$
  124. 850 ES=VAL(E1$):RETURN
  125. 1000 POKE22784,0:RUN
  126.